APE: 自動プロンプトエンジニア論文
https://scrapbox.io/files/657db80883d2d10025a147e6.png
論文情報
タイトル:Large Language Models Are Human-Level Prompt Engineers
著者:Yongchao Zhou, Andrei Ioan Muresanu, Ziwen Han, Keiran Paster, Silviu Pitis, Harris Chan, Jimmy Ba
これは何?わかりやすく
人間がプロンプトを作ってLLMに指示することは難しい。
そのプロンプトの出来栄えで、タスク性能が大きく変わってしまう(ガチャ)
人間の手作業に頼らずに、LLMが自動で効果的なプロンプトを作れれば、LLMを活用する道がもっと開かれる。
勉強になったこと/感想
内容詳細
概要
自然言語指示を用いた条件付けにより、大規模言語モデル(LLM)は汎用コンピュータとしての印象的な能力を示しています。しかし、タスクのパフォーマンスは、モデルを操作するために使用されるプロンプトの質に大きく依存しており、最も効果的なプロンプトの多くは人間によって手作業で作成されています。古典的なプログラム合成とプロンプトエンジニアリングにおける人間のアプローチに着想を得て、私たちは自動命令生成と選択のための「Automatic Prompt Engineer (APE) 」を提案します。この方法では、命令を「プログラム」として扱い、選択されたスコア関数を最大化するためにLLMによって提案された命令候補のプールを検索して最適化します。選択された命令の品質を評価するために、別のLLMが選択された命令に従ってZero-Shotのパフォーマンスを評価します。広範な実験により、私たちの自動生成命令は以前のLLMベースラインを大幅に上回り、24/24の命令誘導タスクと17/21のキュレーションされたBIG-Benchタスクで人間のアノテーターによって生成された命令と同等またはそれ以上のパフォーマンスを達成することを示しています。私たちは、APEがどのように機能するかを探るために広範な定性的および定量的分析を行っています。APEでエンジニアリングされたプロンプトは、標準的なICL(コンテキスト内学習: In Context Learning)プロンプトに単に追加することで、Few-Shot学習のパフォーマンスを向上させるため、またはより良いZero-ShotのCoT (Chain-of-Thought)を見つけるため、さらにはモデルを真実性および/または情報性に向けて操作するために適用できることを示しています。 背景
- LLMは、大量のテキストデータから学習を行い、与えられた指示に従って様々なタスクを実行する能力を持っています。しかし、これらのモデルの性能は、どのような指示が与えられるかに大きく依存しています。適切な指示を与えることで、モデルの能力を最大限に引き出すことができます。
- これまでの研究や実践では、効果的な指示の作成は主に人間によって行われてきました。これには時間と専門知識が必要であり、効率性に課題がありました。また、人間が作成した指示は、タスクやコンテキストによってばらつきが生じることもありました。
方法
- APEは、まずLLMを使用して多数の指示候補を生成します。その後、これらの候補の中から最も効果的な指示を選択するために、別のLLMを用いて各指示の性能を評価します。このプロセスにより、人間の介入を最小限に抑えつつ、最適な指示を自動的に選択することが可能になります。
- 研究者たちは、この方法を用いて、多くの異なるタスクに対する指示を生成し、その性能を評価しました。実験では、LLMが生成した指示が、人間が作成した指示と同等か、場合によってはそれ以上の性能を示すことを確認しています。
https://scrapbox.io/files/657e2ce483d2d10025a42736.png
https://scrapbox.io/files/657e2cf23f4fa7002416a4d1.png
・指示に対するアウトプットの候補を入力し、LLMに与えられた指示を予測させることで、promptの候補群を作成させる。(Reverse Generation)
・ prompt候補それぞれに対し、スコアを計算する。論文では生成したprompt候補をLLMに入力し、その応答とtest用subsetとのlog probabiltyを取っている。
・(Optional) top k%をハイスコアな集合とする。ハイスコア集合を用いてResamplingを行う。具体的には、候補promptと類似のpromptを生成する用LLMに指示し、1-2の工程を踏む。これをスコアが収束するまで繰り返す
・ 最もスコアの高いpromptを抽出する。
結果
- 実験の結果、APEによって生成された指示は、従来のLLMのベースライン性能を大幅に上回ることが明らかになりました。具体的には、24の指示誘導タスク全てで高い性能を示し、さらに21の選ばれたBIG-Benchタスクのうち17で人間の指示と同等またはそれ以上の性能を達成しました。
- これらの結果は、APEがLLMの利用可能性を広げると同時に、タスクの効率性を大幅に向上させる可能性を示唆しています。また、この手法により、モデルがより柔軟に多様なタスクに対応できるようになることが期待されます。
https://scrapbox.io/files/657dc7a17a3023002431508c.png
議論
- APEの適用範囲は広く、異なるタイプのタスクでその効果を示しました。この手法は、モデルの性能を一般的に向上させるだけでなく、特定のタスクに対するモデルの応答性を改善するためにも役立ちます。
- さらに、APEは少数ショット学習や、ゼロショット思考チェーンのプロンプトの改善、モデルを特定の方向性(例えば真実性や情報性)に向けてステアすることにも応用できる可能性があります。これにより、LLMの使い勝手と柔軟性がさらに向上すると考えられます。
https://scrapbox.io/files/657e4dfb854a4e0024118e73.png
・大きなLLMを使った方がpromptの質が上がりがち
・コストは、大きなモデルは利用料自体は高いが、収束も早く結果としてコスパがよくなる (InstructGPT)
・モデルAで最適化したpromptは他のモデルBでは適切に機能しなそう
・resamplingはやるとよさそう (iterationを回すほどコスパが悪くなってくるけど)
・meta prompt (Interface, scoring, resampleにつかうprompt)は、結果に影響を与えそう。
制限
- 現在の研究では、APEの性能は特定のタスクやデータセットに限定されており、その汎用性にはまだ疑問が残ります。また、異なるタイプのモデルや異なるドメインのタスクに対する効果については、さらなる検証が必要です。
- このアプローチは多くの可能性を秘めていますが、実際の応用にはさらなる研究と改良が必要です。特に、異なる文脈や条件での性能評価や、長期的な影響の評価など、広範囲な調査が求められます。
応用
- APEの最大の利点は、効果的な指示を自動的に生成することにより、LLMをより効率的かつ効果的に使えるようにする点です。これにより、ユーザーは複雑なタスクや新しいタスクに対しても、モデルの性能を最大限に活用することができます。
- また、APEは、既存のLLMの応用範囲を拡大し、新たな応用分野の開拓に寄与することが期待されます。例えば、教育、医療、ビジネスなどの分野で、より高度で複雑な問題解決や意思決定の支援に活用できる可能性があります。